Multi-function keys providing additional functions and previews of functions

ABSTRACT

Methods and devices are disclosed for providing additional functionality using multi-function keys. The device includes key assemblies for receiving a contact input or a press input. A processing system is coupled to the key assemblies and configured to determine a number of objects contacting a key assembly. The processing system provides a first response when the key assembly has received the press input from a first number of objects and provides a second response when key assembly has received the press input from a second number of objects. The method includes determining a number of objects contacting a key assembly and whether the key assembly has received a contact input or a press input. A first response is provided when the key assembly has received the press input from a first number of objects and a second function is provided when key assembly has received the press input from a second number of objects.

RELATED APPLICATION(S)

This application claims priority to provisional patent application61/818,564 filed May 2, 2013 and to provisional patent application61/819,679 filed May 6, 2013.

FIELD OF THE INVENTION

This invention generally relates to electronic devices.

BACKGROUND OF THE INVENTION

Pressable touchsurfaces (touch surfaces which can be pressed) are widelyused in a variety of input devices, including as the surfaces of keys orbuttons for keypads or keyboards, and as the surfaces of touch pads ortouch screens. It is desirable to improve the usability of these inputsystems.

BRIEF SUMMARY OF THE INVENTION

An input device is disclosed for providing additional functionalityusing multi-function keys. The input device includes a plurality of keyassemblies for receiving a contact input or a press input. A processingsystem is coupled to the plurality of key assemblies and configured todetermine a number of objects contacting a respective key assembly ofthe plurality of key assemblies and whether the respective key assemblyhas received the contact input or the press input from the number ofobjects. The processing system provides a first response when therespective key assembly has received the press input from a first numberof objects and provides a second response when respective key assemblyhas received the press input from a second number of objects.

A method is disclosed for providing additional functionality usingmulti-function keys. The method includes determining a number of objectscontacting a key assembly and whether the respective key assembly hasreceived a contact input or a press input from the number of objects. Afirst response is provided when the key assembly has received the pressinput from a first number of objects and a second function is providedwhen respective key assembly has received the press input from a secondnumber of objects.

BRIEF DESCRIPTION OF DRAWINGS

Example embodiments of the present invention will hereinafter bedescribed in conjunction with the appended drawings which are not toscale unless otherwise noted, where like designations denote likeelements, and:

FIG. 1 shows an example keyboard that incorporates one or moreimplementations of key-based touchsurfaces configured in accordance withthe techniques described herein;

FIG. 2 shows an exploded view of an example keyboard in accordance withthe techniques described herein;

FIGS. 3-8A-C are illustrations of an input device in accordance with thetechniques described herein; and

FIGS. 9-10 are flow diagrams presenting methods in accordance with thetechniques described herein.

DETAILED DESCRIPTION OF THE INVENTION

The following detailed description is merely exemplary in nature and isnot intended to limit the invention or the application and uses of theinvention.

Various embodiments of the present invention provide input devices andmethods that facilitate improved usability, thinner devices, easierassembly, lower cost, more flexible industrial design, or a combinationthereof. These input devices and methods involve pressable touchsurfacesthat may be incorporated in any number of devices. As some examples,pressable touchsurfaces may be implemented as surfaces of touchpads,touchscreens, keys, buttons, and the surfaces of any other appropriateinput device. Thus, some non-limiting examples of devices that mayincorporate pressable touchsurfaces include personal computers of allsizes and shapes, such as desktop computers, laptop computers, netbooks,ultrabooks, tablets, e-book readers, personal digital assistants (PDAs),and cellular phones including smart phones. Additional example devicesinclude data input devices (including remote controls, integratedkeyboards or keypads such as those within portable computers, orperipheral keyboards or keypads such as those found in tablet covers orstand-alone keyboards, control panels, and computer mice), and dataoutput devices (including display screens and printers). Other examplesinclude remote terminals, kiosks, point-of-sale devices, video gamemachines (e.g., video game consoles, portable gaming devices, and thelike) and media devices (including recorders, editors, and players suchas televisions, set-top boxes, music players, digital photo frames, anddigital cameras).

The discussion herein focuses largely on rectangular touchsurfaces.However, the touchsurfaces for many embodiments can comprises othershapes. Example shapes include triangles, quadrilaterals, pentagons,polygons with other numbers of sides, shapes similar to polygons withrounded corners or nonlinear sides, shapes with curves, elongated orcircular ellipses circles, combinations shapes with portions of any ofthe above shapes, non-planar shapes with concave or convex features, andany other appropriate shape.

In addition, although the discussion herein focuses largely on thetouchsurfaces as being atop rigid bodies that undergo rigid body motion,some embodiments may comprise touchsurfaces atop pliant bodies thatdeform. “Rigid body motion” is used herein to indicate motion dominatedby translation or rotation of the entire body, where the deformation ofthe body is negligible. Thus, the change in distance between any twogiven points of the touchsurface is much smaller than an associatedamount of translation or rotation of the body.

Also, in various implementations, pressable touchsurfaces may compriseopaque portions that block light passage, translucent or transparentportions that allow light passage, or both.

FIG. 1 shows an example keyboard 100 that incorporates a plurality of(two or more) pressable key-based touchsurfaces configured in accordancewith the techniques described herein. The example keyboard 100 comprisesrows of keys 120 of varying sizes surrounded by a keyboard bezel 130.Keyboard 100 has a QWERTY layout, even though the keys 120 are not thuslabeled in FIG. 1. Other keyboard embodiments may comprise differentphysical key shapes, key sizes, key locations or orientations, ordifferent key layouts such as DVORAK layouts or layouts designed for usewith special applications or non-English languages. In some embodiments,the keys 120 comprise keycaps that are rigid bodies, such as rigidrectangular bodies having greater width and breadth than depth (depthbeing in the Z direction as explained below). Also, other keyboardembodiments may comprise a single pressable key-based touchsurfaceconfigured in accordance with the techniques described herein, such thatthe other keys of these other keyboard embodiments are configured withother techniques.

Orientation terminology is introduced here in connection with FIG. 1,but is generally applicable to the other discussions herein and theother figures unless noted otherwise. This terminology introduction alsoincludes directions associated with an arbitrary Cartesian coordinatesystem. The arrows 110 indicate the positive directions of the Cartesiancoordinate system, but do not indicate an origin for the coordinatesystem. Definition of the origin will not be needed to appreciate thetechnology discussed herein.

The face of keyboard 100 including the exposed touchsurfaces configuredto be pressed by users is referred to as the “top” 102 of the keyboard100 herein. Using the Cartesian coordinate directions indicated by thearrows 110, the top 102 of the keyboard 100 is in the positive-Zdirection relative to the bottom 103 of the keyboard 100. The part ofthe keyboard 100 that is typically closer to the body of a user when thekeyboard 100 is in use atop a table top is referred to as the “front”104 of the keyboard 100. In a QWERTY layout, the front 104 of thekeyboard 100 is closer to the space bar and further from thealphanumeric keys. Using the Cartesian coordinate directions indicatedby the arrows 110, the front 104 of the keyboard 100 is in thepositive-X direction relative to the back 105 of the keyboard 100. In atypical use orientation where the top 102 of the keyboard 100 is facingupwards and the front 104 of the keyboard 100 is facing towards theuser, the “right side” 106 of the keyboard 100 is to the right of auser. Using the Cartesian coordinate directions indicated by the arrows110, the right side 106 of the keyboard 100 is in the positive-Ydirection relative to the “left side” 107 of the keyboard 100. With thetop 102, front 104, and right side 106 thus defined, the “bottom” 103,“back” 105, and “left side” 107 of the keyboard 100 are also defined.

Using this terminology, the press direction for the keyboard 100 is inthe negative-Z direction, or vertically downwards toward the bottom ofthe keyboard 100. The X and Y directions are orthogonal to each otherand to the press direction. Combinations of the X and Y directions candefine an infinite number of additional lateral directions orthogonal tothe press direction. Thus, example lateral directions include the Xdirection (positive and negative), the Y direction (positive andnegative), and combination lateral directions with components in boththe X and Y directions but not the Z direction. Motion components in anyof these lateral directions is sometimes referred herein as “planar,”since such lateral motion components can be considered to be in a planeorthogonal to the press direction.

Some or all of the keys of the keyboard 100 are configured to movebetween respective unpressed and pressed positions that are spaced inthe press direction and in a lateral direction orthogonal to the pressdirection. That is, the touchsurfaces of these keys exhibit motionhaving components in the negative Z-direction and in a lateraldirection. In the examples described herein, the lateral component isusually in the positive X-direction or in the negative X-direction forease of understanding. However, in various embodiments, and withreorientation of select key elements as appropriate, the lateralseparation between the unpressed and the pressed positions may be solelyin the positive or negative X-direction, solely in the positive ornegative Y-direction, or in a combination with components in both the Xand Y directions.

Thus, these keys of the keyboard 100 can be described as exhibiting“diagonal” motion from the unpressed to the pressed position. Thisdiagonal motion is a motion including both a “Z” (or vertical)translation component and a lateral (or planar) translation component.Since this planar translation occurs with the vertical travel of thetouchsurface, it may be called “planar translational responsiveness tovertical travel” of the touchsurface, or “vertical-lateral travel.”

Some embodiments of the keyboard 100 comprise keyboards with leveledkeys that remain, when pressed during normal use, substantially level inorientation through their respective vertical-lateral travels. That is,the keycaps of these leveled keys (and thus the touchsurfaces of thesekeys) exhibit little or no rotation along any axes in response topresses that occur during normal use. Thus, there is little or no roll,pitch, and yaw of the keycap and the associated touchsurfaces remainrelatively level and substantially in the same orientation during theirmotion from the unpressed position to the pressed position.

In various embodiments, the lateral motion associated with thevertical-lateral travel can improve the tactile feel of the key byincreasing the total key travel for a given amount of vertical travel inthe press direction. In various embodiments, the vertical-lateral travelalso enhances tactile feel by imparting to users the perception that thetouchsurface has travelled a larger vertical distance than actuallytravelled. For example, the lateral component of vertical-lateral travelmay apply tangential friction forces to the skin of a finger pad incontact with the touchsurface, and cause deformation of the skin andfinger pad that the user perceives as additional vertical travel. Thisthen creates a tactile illusion of greater vertical travel. In someembodiments, returning the key from the pressed to the unpressedposition on the return stroke also involves simulating greater verticaltravel using lateral motion.

To enable the keys 120 of the keyboard 100 with vertical-lateral travel,the keys 120 are parts of key assemblies each comprising mechanisms foreffecting planar translation, readying the key 120 by holding theassociated keycap in the unpressed position, and returning the key 120to the unpressed position. Some embodiments further comprise mechanismsfor leveling keycaps. Some embodiments achieve these functions with aseparate mechanism for each function, while some embodiments achieve twoor more of these functions using a same mechanism. For example, a“biasing” mechanism may provide the readying function, the returningfunction, or both the readying and returning functions. Mechanisms whichprovide both readying and returning functions are referred to herein as“ready/return” mechanisms. As another example, aleveling/planar-translation-effecting mechanisms may level and effectplanar translation. As further examples, other combinations of functionsmay be provided by a same mechanism.

The keyboard 100 may use any appropriate technology for detectingpresses of the keys of the keyboard 100. For example, the keyboard 100may employ a key switch matrix based on conventional resistive membraneswitch technology. The key switch matrix may be located under the keys120 and configured to generate a signal to indicate a key press when akey 120 is pressed. Alternatively, the example keyboard 100 may employother key press detection technology to detect any changes associatedwith the fine or gross change in position or motion of a key 120.Example key press detection technologies include various capacitive,resistive, inductive, magnetic, force or pressure, linear or angularstrain or displacement, temperature, aural, ultrasonic, optical, andother suitable techniques. With many of these technologies, one or morepreset or variable thresholds may be defined for identifying presses andreleases.

As a specific example, capacitive sensor electrodes may be disposedunder the touchsurfaces, and detect changes in capacitance resultingfrom changes in press states of touchsurfaces. The capacitive sensorelectrodes may utilize “self capacitance” (or “absolute capacitance”)sensing methods based on changes in the capacitive coupling between thesensor electrodes and the touchsurface. In some embodiments, thetouchsurface is conductive in part or in whole, or a conductive elementis attached to the touchsurface, and held at a constant voltage such assystem ground. A change in location of the touchsurface alters theelectric field near the sensor electrodes below the touchsurface, thuschanging the measured capacitive coupling. In one implementation, anabsolute capacitance sensing method operates with a capacitive sensorelectrode underlying a component having the touchsurface, modulates thatsensor electrodes with respect to a reference voltage (e.g., systemground), and detects the capacitive coupling between that sensorelectrode and the component having the touchsurface for gauging thepress state of the touchsurface.

Some capacitive implementations utilize “mutual capacitance” (or“transcapacitance”) sensing methods based on changes in the capacitivecoupling between sensor electrodes. In various embodiments, theproximity of a touchsurface near the sensor electrodes alters theelectric field between the sensor electrodes, thus changing the measuredcapacitive coupling. The touchsurface may be a conductive ornon-conductive, electrically driven or floating, as long as its motioncauses measurable change in the capacitive coupling between sensorelectrodes. In some implementations, a transcapacitive sensing methodoperates by detecting the capacitive coupling between one or moretransmitter sensor electrodes (also “transmitters”) and one or morereceiver sensor electrodes (also “receivers”). Transmitter sensorelectrodes may be modulated relative to a reference voltage (e.g.,system ground) to transmit transmitter signals. Receiver sensorelectrodes may be held substantially constant relative to the referencevoltage to facilitate receipt of resulting signals. A resulting signalmay comprise effect(s) corresponding to one or more transmitter signals,and/or to one or more sources of environmental interference (e.g., otherelectromagnetic signals). Sensor electrodes may be dedicatedtransmitters or receivers, or may be configured to both transmit andreceive.

In one implementation, a trans-capacitance sensing method operates withtwo capacitive sensor electrodes underlying a touchsurface, onetransmitter and one receiver. The resulting signal received by thereceiver is affected by the transmitter signal and the location of thetouchsurface.

In some embodiments, the sensor system used to detect touchsurfacepresses may also detect pre-presses. For example, a capacitive sensorsystem may also be able to detect a user hovering over but notcontacting a touch surface. As another example, a capacitive sensorsystem may be able to detect a user lightly touching a touchsurface,such that the user performs a non-press contact on the touchsurface, anddoes not depress the touchsurface sufficiently to be considered a press.Some embodiments are configured to gauge the amount of force beingapplied on the touchsurface from the effect that the force has on thesensor signals. That is, the amount of depression of the touchsurface iscorrelated with one or more particular sensor readings, such that theamount of press force can be determined from the sensor reading(s).These types of systems can support multi-stage touchsurface input bydistinguishing and responding differently to two or more of thefollowing: non-contact hover, non-press contact, and one, two, or morelevels of press.

In some embodiments, substrates used for sensing are also used toprovide backlighting associated with the touchsurfaces. As a specificexample, in some embodiments utilizing capacitive sensors underlying thetouchsurface, the capacitive sensor electrodes are disposed on atransparent or translucent circuit substrate such as polyethyleneterephthalate (PET), another polymer, or glass. Some of thoseembodiments use the circuit substrate as part of a light guide systemfor backlighting symbols viewable through the touchsurfaces.

The keyboard 100 may be communicably coupled with a processing system190 through communications channel 192. Connection 192 may be wired orwireless. The processing system 190 may comprise one or more ICs(integrated circuits) having appropriate processor-executableinstructions for operating the keyboard 100, such as instructions foroperating key press sensors, processing sensor signals, responding tokey presses, and the like. In some embodiments, the keyboard 100 isintegrated in a laptop computer or a tablet computer cover, and theprocessing system 190 comprises an IC containing instructions to operatekeyboard sensors to determine the extent keys has been touched orpressed, and to provide an indication of touch or press status to a mainCPU of the laptop or tablet computer, or to a user of the laptop ortablet computer.

While the orientation terminology, vertical-lateral travel, sensingtechnology, and implementation options discussed here focuses on thekeyboard 100, these discussions are readily analogized to othertouchsurfaces and devices described herein.

FIG. 2 shows an exploded view of an example keyboard construction 200 inaccordance with the techniques described herein. A construction like thekeyboard construction 200 may be used to implement any number ofdifferent keyboards, including keyboard 100. Proceeding from the top tothe bottom of the keyboard, the bezel 220 comprises a plurality ofapertures through which keycaps 210 of various sizes are accessible inthe final assembly. Magnetically coupled components 222, 224 areattached to the keycaps 210 or the base 240, respectively. The base 240comprises a plurality of PTE mechanisms (illustrated as simplerectangles on the base 240) configured to guide the motion of thekeycaps 210. Underneath the base 240 is a key sensor 250, whichcomprises one or more layers of circuitry disposed on one or moresubstrates.

Various details have been simplified for ease of understanding. Forexample, adhesives that may be used to bond components together are notshown. Also, various embodiments may have more or fewer components thanshown in keyboard construction 200, or the components may be in adifferent order. For example, the base and the key sensor 250 may becombined into one component, or swapped in the stack-up order.

As an overview, the various embodiments described herein provideadvantages attainable from the multi-function keys that are capable ofdetecting and distinguishing between two types, three types, or moretypes of input. Some multi-function keys are capable of sensing multiplelevels of key depression, key depression force, location of touch on thekey surface, etc. Some multi-function keys are capable of sensing anddistinguishing between non-press touch (contact) on a key and a press onthe key. This distinction between a contact input and press input isreferred to herein as the “state” of the key (i.e., contacted orpressed). Some multi-function keys are capable of distinguishing betweenone, two or more unique input objects interacting with the key (i.e., amulti-object press). In some embodiments, the related function activated(response provided) by a press input depends upon the number of objectsused to provide the press input. That is, a press input provided by asingle object will activate a first function while a press inputprovided by a multi-object press will activate a second function. Insome embodiments, the second function is related to the first function.In other embodiments the second function is provided until themulti-object press is removed (the key released). In other embodiments,the second function remains activated until the key assembly receivesthe multi-object press again. Additionally, it will be appreciated thatthe second function may be activated upon release of a pressed key asopposed to being activated upon pressing the key with multiple objects.

Multi-function keys may be configured with a touch sensitive surfaceusing sensor systems of any appropriate technology, including any one orcombination of technologies described in this detailed descriptionsection or by the references noted in the background section. As aspecific example, in some embodiments, a sensor system for a keycomprises a capacitive sensing system capable of detecting touch on thekey and presses of the key. As another specific example, in someembodiments, a sensor system for a key comprises a capacitive sensingsystem capable of detecting touch on the key and a resistive membraneswitch system capable of detecting presses of the key.

Multi-function keys can be used to enhance user interfaces, such asimproving ergonomics, speeding up entry, extending the functionality ofthe key, providing more intuitive operation, etc. For example,multi-function keys configured in keypads and keyboards that capable ofdetecting and distinguishing between a single finger touch input andmulti-finger touch input press input may enable additional functionalityusing a same key.

A “non-press touch input” or “contact input” as used herein to indicateinput approximating a user contacting a key surface but not pressing thekey surface sufficiently to cause a press input. A “press input” is usedherein to indicate a user pressing a key surface sufficiently to triggerthe main entry function of the key (e.g., to trigger alphanumeric entryfor alphanumeric keys). In some embodiments, the sensor system isconfigured to consider the following as non-press touch input: inputsthat contact the key surface, those inputs that lightly touch but doesnot significantly press the key surface, those inputs that press on thekey surface slightly but do not fully depress the key, or a combinationof these.

FIG. 3 illustrates an input device 300 (a keyboard in this example)having a plurality of key assemblies (e.g., 302). As can be seen the keyassemblies include a label or legend (e.g., Shift, Caps Lock, A-Z, 0-9)that identifies to a user the function provided by pressing a respectivekey. Some keyboards also include function keys 304 that have moregeneric legends (e.g., F1, F2) that perform a function under control ofa processing system or application program. In some embodiments, thefunction keys 304 can be programmed by the user to activate a programmedfunction or series of instructions (e.g., a macro). Some of all of theplurality of key assemblies shown in FIG. 3 include a touch surface(e.g., 306) as described above.

As is known, many publishers of programs or applications providekeyboard shortcuts to activate certain actions or functions. This freesthe user from having to take a hand off the keyboard to use a mouse (orother navigation device) to locate and activate the function or actionvia menus. As will be appreciated, some publishers have extensive listsof keyboard shortcuts may tax the memory and frustrate some users.Moreover, keyboard shortcuts vary from publisher to publisher, which mayfurther frustrate some users if multiple programs are running and theuser is switching between programs.

FIG. 4 illustrates one advantage of a multi-function key havingadditional functionality depending on the number of input objectsinteracting with the key. The input device 400 is coupled to aprocessing system (not shown in FIG. 4) which also coupled to a display402. As a non-limiting example, a single input object (e.g., a finger)pressing on a “Shift” key results in the conventional response, in thatsubsequent letters pressed while the “Shift” key is pressed result incapitalized or modified characters. If multiple input objects 404 (e.g.,two or more fingers) press and release the “shift” key, the resultingresponse is similar to that of a conventional “Caps Lock” key. In someembodiments, a message 406 (e.g., Caps Lock On) may be briefly presentedto advise the user of the functionality activated by the multiple objectkey press. A subsequent single or multi-finger press and release of the“Shift” key will disable the caps lock function. In another example, the“Ctrl” or “Alt” keys can be placed in a lock mode if multiple inputobjects are sensed as pressing those keys.

In another example, a single finger press on a “Backspace” key resultsin a conventional behavior, which most commonly is the deletion of theprevious character. If multiple inputs are placed on the “Backspace” keyand the key is pressed, a related functionality may occur. For example,two input objects pressing the “Backspace” key may result in thedeletion of the previous word; while three input object pressing the“Backspace” key may result in the deletion of a whole line or paragraphof text.

In yet another example, a single finger press on a “Return” or “Enter”key results in a conventional behavior, most commonly the movement ofthe text entry cursor to the next line in a text entry environment. Ifmultiple inputs are sensed on the “Return” or “Enter” key and the key ispressed, different functionality may occur. For example, two fingerspressing the “Return” or “Enter” key may result in a page break or adouble spacing.

In still another example, a single finger press on the spacebar keyresults in a conventional behavior, most commonly a spacing of the textentry cursor in a text entry environment. If multiple inputs are sensedon the spacebar key and the key is pressed, different functionality mayoccur. For example, two fingers pressing the spacebar key may result ina “.” or “. ” (period with a space) or “. ” (period with a double space)to end a sentence.

In still another example, many keyboards have an “Fn” or “function” keythat is used to allow additional input on existing alphanumeric keys.For example, while the “Fn” key is pressed, the “Home” and “End” buttonsare used to control the brightness of the display. In accordance withthe techniques disclosed herein, the “Fn” key may be realized by anothermulti-function key and activated based on the number of fingers(objects) pressing the - button. For example, when pressed with morethan one finger the “Ctrl” key (306 in FIG. 3) may function like a “Fn”key without taking the space required for a separate key.

As yet another example, a single finger press on the “Tab” key resultsin a conventional behavior, most commonly used to advance the cursor tothe next tab stop. If multiple inputs are sensed on the “Tab” key andthe key is pressed, different functionality may occur. For example, twofingers pressing the “Tab” key may be used to reverse the cursor to theprevious tab stop.

In another non-limiting example, a single finger press on the arrow keys(310 in FIG. 3) results in a conventional behavior, most commonly usedto move the cursor in the relevant direction. If multiple input objectspress one of the arrow keys, advanced functionality may occur. Forexample, two fingers pressing the up arrow may result in a “page up”action, two fingers pressing the down arrow may result in a “page down”action, two fingers pressing the right arrow may result in an “end”action, while two fingers pressing the left arrow may result in a “home”action. It will be understood that the mapping of the arrow keys may bereversed or otherwise arranged.

Additionally, keyboards with numeric keypads (314 in FIG. 3) may berealized with multi-function keys. For example, a single finger press ona number key on a keyboard (similar to that of FIG. 3) will result in aconventional response (e.g., pressing on the “1” key results in thenumber “1” being entered). In some embodiments, multiple input objectspressing on the “1” key may result in an advanced functionality, such as“!” being input (the equivalent of pressing Shift+1), or anothercharacter/symbol which is mapped to the “1” key.

Multi-function keys can also be used to provide an advantage if thosekeys are programmable (e.g., generic function keys 304 in FIG. 3). Forexample, a touch (contact) sense would cause a dialog box to indicatethe programmed function. If the key (for example the “F2”) wasun-programmed, a message could appear indicating that the key wasavailable to be programmed. With multi-function keys, the key could bereprogrammed by a multi-object press, and then later activated by asingle object press of that key.

In FIGS. 5A and 5B, another advantage of multi-function keys isillustrated. In FIG. 5A, a user has entered the word “hello” via thekeyboard 500 and has selected the word to provide selected text 502.Thereafter in FIG. 5B if a user makes a multi-finger touch on the Shiftkey, the selected text 502 has the functionality applied to it toprovide in this example the all caps “HELLO” 502′ as shown.

In some embodiments, a preview of the related functionality is providedupon sensing a multi-object contact of a key assembly. This previewfunction is particularly useful when a function provided by a key is notclearly indicated by the key label. As is known, many publishers ofprograms or applications provide keyboard shortcuts to activate certainactions or functions. This frees the user from having to take a hand offthe keyboard to use a mouse (or other navigation device) to locate andactivate the function or action via menus. As will be appreciated, somepublishers have extensive lists of keyboard shortcuts may tax the memoryand frustrate some users. Moreover, keyboard shortcuts vary frompublisher to publisher, which may further frustrate some users ifmultiple programs are running and the user is switching betweenprograms.

However, the use of multi-function keys provides a solution to aid auser from having to remember all of the keyboard shortcuts or whichkeyboard shortcuts are available in the active program. Using the CapsLock example above, upon detecting two fingers touching the Shift key, adialog box would appear indicating “Caps Lock” should the multi-objecttouch be followed by a multi-object press. In this way, the Shift keycan also perform the function of the Caps Lock key to allow for asmaller keyboard. Although the label indicates a shift function, amulti-object touch indicates the related function of Caps Lock. Afterthe multi-object press, the dialog box would indicate “Caps Lock On” toconfirm activation of the related functionality. The preview function isparticularly useful when a user is switching between operatingenvironments (e.g., operating system, application program or macro) andthe keyboard shortcuts vary depending upon the active operatingenvironment. In some embodiments, after a preview is presented, a usermay take the indicated action by pressing all keys currently beingcontacted. In other embodiments, after the preview is presented, a pressinto to any (one or more) of the contacted keys will cause theindication action to be taken. Also, some embodiments present thepreview after a brief delay time so as not to be distracting to a user.In such embodiments a brief contact (but non-press) input will provide apreview of the function provided by the key.

FIGS. 6A-6C illustrate examples of a user input on a multi-function keyhaving additional resulting functionality depending on an input objecthaving a non-press interaction (touch or contact) with the key. In FIG.6A, a user operating an input device 600 (keyboard in this example)contacts or presses a “Ctrl” key 602 and performs non-press input with asecond input object on the “C” key 604. In response to this combinationof inputs, the processing system (not shown in FIG. 6A) displays avisual indication (e.g., cue or prompt) 806 notifying the user of whattype of action the user may expect if the “Ctrl” and the “C” key ispressed—in this example a “copy” action. As used herein, a “visualindication” means a cue or prompt of an action that will occur if thecorresponding contacted keys are pressed.

In another example, FIG. 6B illustrates a first input object contactingor pressing a “Win” key 606 and performs non-press input with a secondinput object on the “D” key 608 resulting in a visual indication of“show desktop” 610. If the user performs a press input on the “Win” keyand the “D” key, the system would indeed show the desktop.

In yet another example, FIG. 6C illustrates a first input objectperforms non-press input on the “F1” key 612. In response, theelectronic system displays a visual indication 614 to the user showingthat a “help” menu will be presented if the user performs a press inputon the “F1” key.

Modern computing and operating systems as well as the applications withwhich they operate (various operating environments) pack many shortcutsinto keys such as the function keys, and into combinations of keys suchas “Ctrl+key”, “Alt+key” or “Win+key”. Not only are the numerousshortcuts hard to remember, the shortcuts vary depending upon whichoperating environment is active at any one time. In various embodimentsof the present invention, if the user performs a non-press input over aspecific key (e.g., “F1” or at least one of a combination of keys (e.g.,Ctrl+C) that has an associated keyboard shortcut, the processing systemcan prompt the application and/or operating system to display a visualindication (e.g., dialog box, cue or prompt) informing the user whatshortcut, if any, is associated with the combination of keys. Thus, theuser is provided visual cue to assist the user to decide whether theywish to complete the displayed action by completing the key press of theat least one key which was previously under non-press input.

FIGS. 7A-B illustrate another example where a user has previously usedthe keyboard 700 to enter the text “Hello Computer” 702 and has selectedthis text for a next action. Contacting or pressing the CTRL key 704 andproviding a non-press input on the C key 706, a visual indication(dialog box) 708 that reveals that this particular combination of keys,if pressed, will copy the selected text. Further, if instead the userdecides to move the non-pressing input previously on the C key 706 tothe D key 710, a dialog box 712 will reveal that the new combination ofkeys, if pressed, will bring up the “Font” menu in the specificoperating environment of this example for modifying the font of theselected text. It will be understood that in both cases, the text neednot be selected in order to display the visual indications 708 or 712.The user may continue to move the non-pressing input object to discoverwhat other actions a combination of key presses may result.

Furthermore, in yet another example, a first input object may interactwith a multi-function key by swiping on the key surface (in either apressed or non-pressed configuration), resulting in a “lock” of thatkey. Thus, pressing and swiping down on the CTRL key will activate aCTRL-Lock (similar to Caps Lock) after which the user may perform singlefinger (input object) or multi-finger non-press input on various keys.In response, the system will provide a prompt for the associatedshortcut or action that would result from the pressing of the lockedmodifier key (e.g., Ctrl) and the key(s) currently contacted but notpressed.

FIGS. 8A-C illustrate another advantage offered by multi-function keys.If FIG. 10A, a user has used the keyboard 800 to enter the text “It wasa dark and stormy night.” 802. After selecting and copying this text asdiscussed above, the user may want to know what this text will look likepasted in a different location. Accordingly, in FIG. 8B, when the userhas repositioned the text entry cursor to a new location and contactsthe “Ctrl” key 804 and the “V” key 806 a visual representation 802′ isdisplay that shows the user what the current text or image on theclipboard (or other selection list) will look like pasted at thelocation of the cursor. Should the user then press the contacted keys,the action provided by the contacted keys would be implemented. As usedherein, a “visual representation” means an illustration of the effectsof the action if implemented, as opposed to a “visual indication” asdefined above. In some embodiments, the clipboard 806 (FIG. 8C) containsseveral previously cut or copied images or text, and the user maynavigate through the selection list items using a gesture (e.g., a flickor swipe) after contacting the V key as indicated by arrow 804. A singlegesture causes a visual indication of the next selection list item (Clip2 in this example) to appear at the cursor location. In someembodiments, a gesture 804 advances through the selection list items ina circular (or carrousel) manner as indicated by the arrow 808. In someembodiments, the gesture has a directional feature that facilitates nextand previous navigation as indicated by the arrow 810. As a non-limitingexample, a gesture in one direction (left to right) presents the visualindication of the next selection list item and a gesture in the oppositedirection presents the visual indication of the previous selection listitem.

FIG. 9 is a flowchart of a method 900 in accordance with embodiments ofthe technology described herein. In step 902, a determination is madethat a key assembly was pressed (activated). Next, step 904 determinesof a number of objects contacting a key assembly when pressed. Decision906 determines if only one object was in contact with the key assemblywhen the press input was received. If so, the normal function associatedwith that particular key assembly is activated in step 908. Conversely,if more than one object was contacting the key assembly when the pressinput was received, a related function or action is taken in step 910.

FIG. 10 is a flowchart of a method 1000 in accordance with embodimentsof the technology described herein. In step 1002, a determination ismade that input object(s) are contacting one or more key assemblies.Optionally, a determination could be made that an object is pressing onekey assembly and contacting another key assembly. Next, step 1004presents a visual indication (preview) of the action to be taken if theone or more key assemblies are pressed. Alternately, a visualrepresentation could be presented as discuss in connection with FIG. 8.If the key assembly(ies) are pressed, the action associated the key orkeys is activated in step 1006.

Thus, the techniques described herein can be used to implement anynumber of devices utilizing multi-function keys with touchsurfaceassemblies, including a variety of keyboards each comprising one or morekey assemblies in accordance with the techniques described herein. Theimplementations described herein are meant as examples, and manyvariations are possible.

What is claimed is:
 1. An input device, comprising: a plurality of keyassemblies, at least some of the plurality of key assemblies having atouch sensitive surface for receiving a contact input or a press input;a processing system coupled to the plurality of key assemblies andconfigured to: determine a number of objects contacting a respective keyassembly of the plurality of key assemblies; determine whether therespective key assembly has received the contact input or the pressinput from the number of objects; and provide a first response when therespective key assembly has received the press input from a first numberof objects and provide a second response when the respective keyassembly has received the press input from a second number of objects.2. The input device of claim 1, further comprising providing a previewof the second response when the respective key assembly has received thecontact input from the second number of objects.
 3. The input device ofclaim 1, wherein the respective key assembly has a label indicating afunction provided by the first response and wherein the second responsecomprises a second function related to the label associated with therespective key assembly.
 4. The input device of claim 1, wherein therespective key assembly has a programmable function and the secondresponse comprises enabling the programmable function to bereprogrammed.
 5. The input device of claim 4, wherein a preview of theprogrammable function is provided when the respective key assemblyreceives the contact input from the first number of objects.
 6. Theinput device of claim 5, wherein when the programmable function of therespective key assembly has not been assigned, the preview indicatesthat the programmable function is available to be programmed.
 7. Theinput device of claim 1, wherein the processing system is furtherconfigured to provide a third response when the respective key assemblyhas received the press input from a third number of objects.
 8. Theinput device of claim 1, wherein the processing system is furtherconfigured to determine when the respective key assembly has beenreleased following the press input, and to: provide the second responsefor so long as the respective key assembly is pressed; and ceasing toprovide the second response when the respective key assembly has beenreleased.
 9. The input device of claim 1, wherein the processing systemis further configured to determine when the respective key assembly hasbeen released following the press input, and to: provide the secondresponse after the respective key assembly receives the press input fromthe second number of objects and has been released; and continuing toprovide the second response until the respective key assembly receives asecond press input from the second number of objects and has beenreleased.
 10. A method for activating multiple functions for a keyassembly having a touch sensitive surface for receiving a contact inputor a press input, the method comprising: determining a number of objectsproviding the contact input to the touch sensitive surface of the keyassembly; and providing a first response when the key assembly hasreceived the press input from a first number of objects providing asecond response when key assembly has received the press input from asecond number of objects.
 11. The method of claim 10, further comprisingproviding a preview of the second response when the touch sensitivesurface receives the contact input the second number of objects.
 12. Themethod of claim 10, further comprising providing a third response when athird number of objects provides the press input to the key assembly.13. The method of claim 10, wherein the first response corresponds to alabel on the respective key assembly and the second response activates afunction related to the label.
 14. The method of claim 10, wherein thekey assembly has a programmable function and the second response enablesthe programmable function of the key assembly to be reprogramed.
 15. Themethod of claim 10, wherein the second response is activated while thekey assembly receives the press input from the second number of objects.16. The method of claim 10, wherein the second response is activatedwhen the key assembly receives the press input from the second number ofobjects, and is deactivated when the key assembly receives a secondpress input from the second number of objects.
 17. A device, comprising:a plurality of key assemblies, at least some of the plurality of keyassemblies having a touch sensitive surface for receiving a contactinput or a press input; a display, coupled to a processing system fordisplaying information provided by the processing system; and theprocessing system being coupled to the plurality of key assemblies andconfigured to: determine a number of objects contacting a respective keyassembly of the plurality of key assemblies; determine whether therespective key assembly has received the contact input or the pressinput from the number of objects; and provide a first response when therespective key assembly has received the press input from a first numberof objects and provide a second response when respective key assemblyhas received the press input from a second number of objects.
 18. Theinput device of claim 17, wherein a preview of the second response isdisplayed on the display when the respective key assembly has receivedthe contact input from the second number of objects.
 19. The device ofclaim 17, wherein the second response is activated for so long as thesecond number of objects provides the press input.
 20. The device ofclaim 17, wherein the second response is activated after the respectivekey assembly has received the press input from the second number ofobjects and is deactivated after the respective key assembly hasreceived a second press input from the second number of objects.